閱讀提醒:本文會在官方高級賽車模板上實作檢查點。
Unreal Engine:5.03 高級賽車模板
OS:Windows10
在跑計時賽的時候,我們需要多個檢查點來確認玩家的位置以及目前的圈數。
今天就先來設定檢查點的部份吧!
首先建立一個 Actor BP,並命名為 CheckPoint。
在 Self 下方新增 Arrow、Particle System、Box Collision。
將 Box Collision 做為 Trigger,並調整 Scale。
接著將 Collision Presets 改為 OverlapOnlyPawn。
新增一個 Int 變數 CheckPointNum,且勾選 Instance Editable,即可從外部,也就是場景的 Detail 面板更改數值。
新增一個 Event Dispatchers,命名為 CheckPointCleared,選擇 Input 旁的 +,新增變數。
在 Trigger 上方點擊右鍵,新增 On Component End Overlap 事件。
將 Other Actor 轉換成 WheeledVehiclePawn 型態,將回傳值傳遞給 Get Velocity 跟 Arrow 的旋轉值做內積 ( Dot Product),並做為 Branch 的條件。
如果為 True,則呼叫 Call Check Point Cleared,然後 Set Hidden in Game。
接著我們回到場景中放置檢查點,將此藍圖放置在賽道上,放置數量按賽道長度調整。
建立一個 PlayerController 及 Widget,分別命名為 MyPlayerController、HUD。
在 VehicleAdvGameMode 更改 PlayerController 為 MyPlayerController。
接下來一樣找到 BeginPlay 事件,Create Widget、Add to Viewport,最後轉換 WheeledVehiclPawn 型態,這邊可以參考模板中的 VehiclePlayerController。
小結:CheckPoint 的設定就先到這邊吧~各位加油,還有三天。